package com.ruoyi.erp.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 代支管理对象 ledy_outer_fee_pay
 * 
 * @author ztj
 * @date 2023-04-04
 */
public class LedyOuterFeePay extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 支取类型 */
    @Excel(name = "支取类型")
    private Long payType;

    /** 代收记录 */
    @Excel(name = "代收记录")
    private List<LedyFeePayDetail> details;

    /** 原始记录 */
    @Excel(name = "原始记录")
    private String feeListArray;

    /** 支取总金额 */
    @Excel(name = "支取总金额")
    private BigDecimal amount;

    /** 附件 */
    @Excel(name = "附件")
    private String attachFiles;

    /** 代支金额大写 */
    @Excel(name = "代支金额大写")
    private String amountWords;

    /** 代收类型的中文名 */
    @Excel(name = "代收类型的中文名")
    private String outerFeeTypeName;

    /** 备注 */
    @Excel(name = "备注")
    private String note;

    /** 收款人 */
    @Excel(name = "收款人")
    private String payee;

    /** 收款人 */
    @Excel(name = "收款人")
    private String payers;

    /** 收款人信息 */
    @Excel(name = "收款人信息")
    private String payeeInfo;

    /** 开户银行 */
    @Excel(name = "开户银行")
    private String bankName;

    /** 银行账号 */
    @Excel(name = "银行账号")
    private String bankAccount;

    /** 状态 */
    @Excel(name = "状态")
    private Integer feeStatus;

    /** 代支取通知书等文书 */
    @Excel(name = "代支取通知书等文书")
    private String feeDocs;

    /** 审批单标识 */
    @Excel(name = "审批单标识")
    private String approvalCode;

    /** 财务支付时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "财务支付时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date payTime;

    /** 财务支付备注 */
    @Excel(name = "财务支付备注")
    private String payNote;

    /** 财务退回备注 */
    @Excel(name = "财务退回备注")
    private String backNote;

    /** 发起人 */
    @Excel(name = "发起人")
    private String applyUser;

    /** 执行人 */
    @Excel(name = "执行人")
    private String approveUser;
    private String acceptNumber;
    private String registerNumber;
    private String operator;
    private Integer iflag;
    private String iNoId;
    private Date dbillDate;
    private String pushOrg;

    public String getPushOrg() {
        return pushOrg;
    }

    public void setPushOrg(String pushOrg) {
        this.pushOrg = pushOrg;
    }

    public List<LedyFeePayDetail> getDetails() {
        return details;
    }

    public void setDetails(List<LedyFeePayDetail> details) {
        this.details = details;
    }

    public String getAcceptNumber() {
        return acceptNumber;
    }

    public void setAcceptNumber(String acceptNumber) {
        this.acceptNumber = acceptNumber;
    }

    public String getRegisterNumber() {
        return registerNumber;
    }

    public void setRegisterNumber(String registerNumber) {
        this.registerNumber = registerNumber;
    }

    public String getOperator() {
        return operator;
    }

    public void setOperator(String operator) {
        this.operator = operator;
    }

    public Integer getIflag() {
        return iflag;
    }

    public void setIflag(Integer iflag) {
        this.iflag = iflag;
    }

    public String getiNoId() {
        return iNoId;
    }

    public void setiNoId(String iNoId) {
        this.iNoId = iNoId;
    }

    public Date getDbillDate() {
        return dbillDate;
    }

    public void setDbillDate(Date dbillDate) {
        this.dbillDate = dbillDate;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setPayType(Long payType) 
    {
        this.payType = payType;
    }

    public Long getPayType() 
    {
        return payType;
    }

    public void setFeeListArray(String feeListArray) 
    {
        this.feeListArray = feeListArray;
    }

    public String getFeeListArray() 
    {
        return feeListArray;
    }
    public void setAmount(BigDecimal amount) 
    {
        this.amount = amount;
    }

    public BigDecimal getAmount() 
    {
        return amount;
    }
    public void setAttachFiles(String attachFiles) 
    {
        this.attachFiles = attachFiles;
    }

    public String getAttachFiles() 
    {
        return attachFiles;
    }
    public void setAmountWords(String amountWords) 
    {
        this.amountWords = amountWords;
    }

    public String getAmountWords() 
    {
        return amountWords;
    }
    public void setOuterFeeTypeName(String outerFeeTypeName) 
    {
        this.outerFeeTypeName = outerFeeTypeName;
    }

    public String getOuterFeeTypeName() 
    {
        return outerFeeTypeName;
    }
    public void setNote(String note) 
    {
        this.note = note;
    }

    public String getNote() 
    {
        return note;
    }
    public void setPayee(String payee) 
    {
        this.payee = payee;
    }

    public String getPayee() 
    {
        return payee;
    }
    public void setPayers(String payers) 
    {
        this.payers = payers;
    }

    public String getPayers() 
    {
        return payers;
    }
    public void setPayeeInfo(String payeeInfo) 
    {
        this.payeeInfo = payeeInfo;
    }

    public String getPayeeInfo() 
    {
        return payeeInfo;
    }
    public void setBankName(String bankName) 
    {
        this.bankName = bankName;
    }

    public String getBankName() 
    {
        return bankName;
    }
    public void setBankAccount(String bankAccount) 
    {
        this.bankAccount = bankAccount;
    }

    public String getBankAccount() 
    {
        return bankAccount;
    }
    public void setFeeStatus(Integer feeStatus) 
    {
        this.feeStatus = feeStatus;
    }

    public Integer getFeeStatus() 
    {
        return feeStatus;
    }
    public void setFeeDocs(String feeDocs) 
    {
        this.feeDocs = feeDocs;
    }

    public String getFeeDocs() 
    {
        return feeDocs;
    }
    public void setApprovalCode(String approvalCode) 
    {
        this.approvalCode = approvalCode;
    }

    public String getApprovalCode() 
    {
        return approvalCode;
    }
    public void setPayTime(Date payTime) 
    {
        this.payTime = payTime;
    }

    public Date getPayTime() 
    {
        return payTime;
    }
    public void setPayNote(String payNote) 
    {
        this.payNote = payNote;
    }

    public String getPayNote() 
    {
        return payNote;
    }
    public void setBackNote(String backNote) 
    {
        this.backNote = backNote;
    }

    public String getBackNote() 
    {
        return backNote;
    }
    public void setApplyUser(String applyUser) 
    {
        this.applyUser = applyUser;
    }

    public String getApplyUser() 
    {
        return applyUser;
    }
    public void setApproveUser(String approveUser) 
    {
        this.approveUser = approveUser;
    }

    public String getApproveUser() 
    {
        return approveUser;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("payType", getPayType())
            .append("details", getDetails())
            .append("feeListArray", getFeeListArray())
            .append("amount", getAmount())
            .append("attachFiles", getAttachFiles())
            .append("amountWords", getAmountWords())
            .append("outerFeeTypeName", getOuterFeeTypeName())
            .append("note", getNote())
            .append("payee", getPayee())
            .append("payers", getPayers())
            .append("payeeInfo", getPayeeInfo())
            .append("bankName", getBankName())
            .append("bankAccount", getBankAccount())
            .append("feeStatus", getFeeStatus())
            .append("feeDocs", getFeeDocs())
            .append("approvalCode", getApprovalCode())
            .append("payTime", getPayTime())
            .append("payNote", getPayNote())
            .append("backNote", getBackNote())
            .append("applyUser", getApplyUser())
            .append("approveUser", getApproveUser())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
